package com.jcfk.eam.domain.dto.base;

import com.baomidou.mybatisplus.annotation.TableField;
import com.jcfk.system.domain.dto.BaseDTO;

import java.util.List;

import org.hibernate.validator.constraints.Length;

import lombok.Data;

import java.util.Date;

/**
 * 备件
 *
 * @author awei
 * @email 522891237@gqq.com
 * @date 2024-08-14
 */
@Data
public class EamSparePartDTO extends BaseDTO {

    private static final long serialVersionUID = 1L;

    /**
     * 数据版本号
     */
    private Long version;

    /**
     * 资产大类
     */
    private Integer assetKind;

    /**
     * 备件编号
     */
    @Length(max = 32, message = "备件编号长度不能超过32")
    private String spareCode;

    /**
     * 备件名称
     */
    @Length(max = 32, message = "备件名称长度不能超过32")
    private String spareNmae;

    /**
     * 备件型号
     */
    @Length(max = 50, message = "备件型号长度不能超过50")
    private String modelNo;

    /**
     * 备件类型 1标准件 2非标准件
     */
    @Length(max = 2, message = "备件类型 1标准件 2非标准件长度不能超过2")
    private String spareType;

    /**
     * 设备类型
     */
    @Length(max = 32, message = "设备类型长度不能超过32")
    private String equipTypeId;

    /**
     * 制造商
     */
    @Length(max = 32, message = "制造商长度不能超过32")
    private String makerId;

    /**
     * 资产品牌
     */
    @Length(max = 32, message = "资产品牌长度不能超过32")
    private String brandId;

    /**
     * 是否是关键备件
     */
    @Length(max = 32, message = "是否是关键备件长度不能超过32")
    private String isLinchpin;

    /**
     * 是否易损备件属性
     */
    @Length(max = 32, message = "是否易损备件属性长度不能超过32")
    private String isVulnerable;

    /**
     * 备件价格
     */
    @Length(max = 32, message = "备件价格长度不能超过32")
    private String sparePice;

    /**
     * 备注
     */
    @Length(max = 255, message = "备注长度不能超过255")
    private String remarks;

    /**
     * 创建人名
     */
    @Length(max = 50, message = "创建人名长度不能超过50")
    private String createdUserName;

    /**
     * 更新人名
     */
    @Length(max = 50, message = "更新人名长度不能超过50")
    private String lastUpdatedUserName;

    /**
     * 是否停用
     */
    private Integer enabled;

    /**
     * 是否删除
     */
    private Integer deleted;

    /**
     * 批量删除id
     */
    private List<String> ids;

    /**
     * 制造商
     */
    private String makerName;

    /**
     * 资产品牌
     */
    private String brandName;

    /**
     * 制造商
     */
    private String makerCode;

    /**
     * 资产品牌
     */
    private String brandCode;

    private String assetTypeCode;

    /**
     * 资产类型名称
     */
    private String assetTypeName;

    private String spareUnit;

    /**
     * 从表集合
     */
    private List<EamRefAssetPartDTO> details;

    /**
     * 备件种类主键
     */
    private String spareKindId;

    /**
     * 备件种类名称
     */
    private String spareKindName;
}
